package com.deluxelx.rmo.essay.domain.rule.engine;

import com.deluxelx.rmo.essay.model.req.DecisionMakingReq;
import com.deluxelx.rmo.essay.model.res.DecisionMakingRes;

/**
 * 规则过滤器
 * LogicFilter 目的是解决 “每一层” 该如何过滤。实现（上个节点 -> 下个节点）。获取下一个节点
 * EngineFilter 类将每一层的过滤方法结合，实现（根节点 -> 叶子节点）。获取最终的决策结果
 */
public interface EngineFilter {

    /**
     * 规则过滤接口
     * 获取最终的决策结果
     * @param decisionMakingReq 决策请求参数
     * @return 最终决策结果
     */
    DecisionMakingRes process(DecisionMakingReq decisionMakingReq);

}
